//RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding < %s  | FileCheck %s

// CHECK: vpclmulqdq $1, %xmm3, %xmm22, %xmm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x00,0x44,0xcb,0x01]
          vpclmulqdq $1, %xmm3, %xmm22, %xmm1

// CHECK: vpclmulqdq  $1, (%rcx), %xmm22, %xmm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x00,0x44,0x09,0x01]
          vpclmulqdq  $1, (%rcx), %xmm22, %xmm1

// CHECK: vpclmulqdq  $1, -64(%rsp), %xmm22, %xmm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x00,0x44,0x4c,0x24,0xfc,0x01]
          vpclmulqdq  $1, -64(%rsp), %xmm22, %xmm1

// CHECK: vpclmulqdq  $1, 64(%rsp), %xmm22, %xmm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x00,0x44,0x4c,0x24,0x04,0x01]
          vpclmulqdq  $1, 64(%rsp), %xmm22, %xmm1

// CHECK: vpclmulqdq  $1, 268435456(%rcx,%r14,8), %xmm22, %xmm1
// CHECK: encoding: [0x62,0xb3,0x4d,0x00,0x44,0x8c,0xf1,0x00,0x00,0x00,0x10,0x01]
          vpclmulqdq  $1, 268435456(%rcx,%r14,8), %xmm22, %xmm1

// CHECK: vpclmulqdq  $1, -536870912(%rcx,%r14,8), %xmm22, %xmm1
// CHECK: encoding: [0x62,0xb3,0x4d,0x00,0x44,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x01]
          vpclmulqdq  $1, -536870912(%rcx,%r14,8), %xmm22, %xmm1

// CHECK: vpclmulqdq  $1, -536870910(%rcx,%r14,8), %xmm22, %xmm1
// CHECK: encoding: [0x62,0xb3,0x4d,0x00,0x44,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x01]
          vpclmulqdq  $1, -536870910(%rcx,%r14,8), %xmm22, %xmm1

// CHECK: vpclmulqdq $1, %ymm3, %ymm22, %ymm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x20,0x44,0xcb,0x01]
          vpclmulqdq $1, %ymm3, %ymm22, %ymm1

// CHECK: vpclmulqdq  $1, (%rcx), %ymm22, %ymm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x20,0x44,0x09,0x01]
          vpclmulqdq  $1, (%rcx), %ymm22, %ymm1

// CHECK: vpclmulqdq  $1, -128(%rsp), %ymm22, %ymm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x20,0x44,0x4c,0x24,0xfc,0x01]
          vpclmulqdq  $1, -128(%rsp), %ymm22, %ymm1

// CHECK: vpclmulqdq  $1, 128(%rsp), %ymm22, %ymm1
// CHECK: encoding: [0x62,0xf3,0x4d,0x20,0x44,0x4c,0x24,0x04,0x01]
          vpclmulqdq  $1, 128(%rsp), %ymm22, %ymm1

// CHECK: vpclmulqdq  $1, 268435456(%rcx,%r14,8), %ymm22, %ymm1
// CHECK: encoding: [0x62,0xb3,0x4d,0x20,0x44,0x8c,0xf1,0x00,0x00,0x00,0x10,0x01]
          vpclmulqdq  $1, 268435456(%rcx,%r14,8), %ymm22, %ymm1

// CHECK: vpclmulqdq  $1, -536870912(%rcx,%r14,8), %ymm22, %ymm1
// CHECK: encoding: [0x62,0xb3,0x4d,0x20,0x44,0x8c,0xf1,0x00,0x00,0x00,0xe0,0x01]
          vpclmulqdq  $1, -536870912(%rcx,%r14,8), %ymm22, %ymm1

// CHECK: vpclmulqdq  $1, -536870910(%rcx,%r14,8), %ymm22, %ymm1
// CHECK: encoding: [0x62,0xb3,0x4d,0x20,0x44,0x8c,0xf1,0x02,0x00,0x00,0xe0,0x01]
          vpclmulqdq  $1, -536870910(%rcx,%r14,8), %ymm22, %ymm1

